perm filename SM[CH2,ALS] blob
sn#283552 filedate 1977-05-27 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 Routine to smooth data in SIGL table both diagonally and adjacently
C00008 ENDMK
C⊗;
;Routine to smooth data in SIGL table both diagonally and adjacently
BLOCK ↑D112
TEMP: BLOCK ↑D113
SMS25: MOVEI X3,↑D25(X1)
ADDM Q,TEMP(X3)
MOVEI X3,-↑D25(X2)
ADDM Z,TEMP(X3)
POPJ PDP,
SMS25A: MOVEI X3,-↑D25(X1)
ADDM Q,TEMP(X3)
MOVEI X3,↑D25(X2)
ADDM Z,TEMP(X3)
POPJ PDP,
SMS15: MOVEI X3,↑D15(X1)
ADDM Q,TEMP(X3)
MOVEI X3,-↑D15(X2)
ADDM Z,TEMP(X3)
POPJ PDP,
SMS15A: MOVEI X3,-↑D15(X1)
ADDM Q,TEMP(X3)
MOVEI X3,↑D15(X2)
ADDM Z,TEMP(X3)
POPJ PDP,
SMS5: MOVEI X3,5(X1)
ADDM Q,TEMP(X3)
MOVEI X3,-5(X2)
ADDM Z,TEMP(X3)
POPJ PDP,
SMS5A: MOVEI X3,-5(X1)
ADDM Q,TEMP(X3)
MOVEI X3,5(X2)
ADDM Z,TEMP(X3)
POPJ PDP,
SMS1: MOVEI X3,1(X1)
ADDM Q,TEMP(X3)
MOVEI X3,-1(X2)
ADDM Z,TEMP(X3)
POPJ PDP,
SMS1A: MOVEI X3,-1(X1)
ADDM Q,TEMP(X3)
MOVEI X3,1(X2)
ADDM Z,TEMP(X3)
POPJ PDP,
SM: MOVEI P,3 ;Phase number
MOVEI K,↑D225 ;Table selection
SM1: MOVE A,PHASES(P)
ADD A,K
SETZM TEMP-↑D112
HRLZI U1,TEMP-↑D112
HRRI U1,TEMP-↑D111
BLT U1,TEMP+↑D112
MOVEI U1,1 ;First level start
SM3: MOVEI U2,1
SM4: MOVEI U3,2
SM5: MOVE X1,U1
IMULI X1,3
ADD X1,U2
IMULI X1,5
ADD X1,U3
MOVN X2,X1
ADD X1,A
ADD X2,A
MOVS Z,SIGL11(X1)
ADD Z,SIGL11(X2)
MOVS Q,Z
ADDM Q,TEMP(X1)
ADDM Z,TEMP(X2)
LSH Q,-3 ;Divide by 8
AND Q,[37777,,37777]
LSH Z,-3
AND Z,[37777,,37777]
CAIGE U1,1
PUSHJ PDP,SMS15 ;Outward adjacent smoothing, first term
PUSHJ PDP,SMS15A ;Inward adjacent smoothing, first term
CAIGE U2,1 ;Repeat for second term
PUSHJ PDP,SMS5
PUSHJ PDP,SMS5A
CAIGE U3,2 ;Repeat for third term
PUSHJ PDP,SMS1
PUSHJ PDP,SMS1A
SOJGE U3,SM5
SOJGE U2,SM4
SOJGE U1,SM3
HRLZI U1,TEMP-↑D22 ;Move results back into SIGL space
HRRI U1,SIGL11-↑D22(A)
BLT U1,SIGL11+22(A)
SETZM TEMP-↑D22 ;and clear TEMP space
HRLZI U1,TEMP-↑D22
HRRI U1,TEMP-↑D21
BLT U1,TEMP+↑D22
SUBI K,↑D45
JUMPGE K,SM1
MOVE A,PHASES(P) ;Start on second level tables
MOVEI K,↑D125
SM21: ADD A,K
SM22: MOVEI U1,2
SM23: MOVEI U2,2
SM24: MOVEI U3,2
SM25: MOVE X1,U1
MOVE X1,U1
IMULI X1,5
ADD X1,U2
IMULI X1,5
ADD X1,U3
MOVN X2,X1
ADD X1,A
ADD X2,A
MOVS Z,SIGL21(X1)
ADD Z,SIGL21(X2)
MOVS Q,Z
ADDM Q,TEMP(X1)
ADDM Z,TEMP(X2)
LSH Q,-3
AND Q,[37777,,37777]
LSH Z.-3
AND Z,[37777,,37777]
CAIGE U1,2
PUSHJ PDP,SMS25
PUSHJ PDP,SMS25A
CAIGE U2,2
PUSHJ PDP,SMS5
PUSHJ PDP,SMS5A
CAIGE U3,2
PUSHJ PDP,SMS1
PUSHJ PDP,SMS1A
SOJGE U3,SM25
SOJGE U2,SM24
SOJGE U1,SM23
HRLZI U1,TEMP-↑D62
HRRI U1,SIGL21-↑D62(A)
BLT U1,SIGL21+62(A)
SETZM TEMP-↑D62
HRLZI U1,TEMP-↑D62
HRRI U1,TEMP-↑D61
BLT U1,TEMP+↑D62
SUBI K,↑D125
JUMPGE K,SM22
MOVE A,PHASES(P) ;Start on third level
SM32: MOVEI U1,7
SM33: MOVEI U2,7
SM35: MOVE X1,U1
IMULI X1,↑D15
ADD X1,U2
MOVN X2,X1
ADD X1,A
ADD X2,A
MOVS Z,SIGLF(X1)
ADD Z,SIGLF(X2)
MOVS Q,Z
ADDM Q,TEMP(X1)
ADDM Z,TEMP(X2)
LSH Q.-2
AND Q,[77777,,77777]
LSH Z,-2
AND Z,[77777,,77777]
CAIGE U1,↑D15
PUSHJ PDP,SMS15
PUSHJ PDP,SMS15A
CAIGE U2,↑D15
PUSHJ PDP,SMS1
PUSHJ PDP,SMS1A
SOJGE U2,SM35
SOJGE U1,SM33
HRLZI U1,TEMP-↑D112
HRRI U1,SIGLF-↑D112(A)
BLT U1,SIGLF+112(A)
SOJGE P,SM1
MOVEI U1,[ASCIZ /Full smoothing has been done.
/]
POPJ PDP,